﻿using LibraryProject.Model;

namespace LibraryProject.Service;

public interface IAccountService {
    /// <summary>
    ///     Create <see cref="Account"/> Table
    /// </summary>
    /// <returns>
    ///     -1: Create Failed, 0: Table Exist, 1: Create Success
    /// </returns>
    Task<int> CreateTable();

    /// <summary>
    /// Insert a data into <see cref="Account"/> Table
    /// </summary>
    Task InitTable(string accountId, string deviceId);

    /// <summary>
    ///     Query data from <see cref="Account"/> Table
    /// </summary>
    /// <remarks>
    /// <para>
    ///     Because the <see cref="Account"/> Table only has one data, so we can use this method to query data
    /// </para>
    /// </remarks>
    Task<Account> QueryData();
}